//
//  AddCarApi.swift
//  Pods
//
//  Created by eme on 2017/3/28.
//
//

import Foundation
import Alamofire
import ModelProtocol
import NetWorkCore
import UtilCore

/*
 owner:cy
 update:2017年03月24日10:10:323
 info: 品牌库 api
 
 */
public enum AddCarApi{
    
    /// 创建订单， 确认订单 接口
    /*
     /osOrder/a/createOrder.json
     {
     //订单信息
     addid:"地址信息ID"，
     telphone:"电话",
     invoiceflag:"是否开发票（0、不开，1、开）",
     invoicetitle:"发票抬头",
     invoiceplace:"发票地址",
     comment:"店家留言"
     
     //订单明细
     pds:"[{skuid:'skuid',pdid:'商品id'，editnum:'数量'}]"
     }
     */
    case createOrder([String: AnyObject])
    ///觅客商城 增加进货单
    /*
     osCarts:	json{}
     //json字符串key
     spid:
     required
     string"8808"
     店铺ID
     brid:
     required
     string"OS201612161110552326156"
     品牌id
     pdid:
     required
     string"1"
     商品ID
     skuid:
     required
     string"1"
     skuid
     cartnumber:
     required
     string"2"
     购物车数量
     */
    case addcarts(osCarts:NSString)
    
    // MARK: - 觅客商城 修改进货单的数量和选中状态
    /*
     osCarts:	json{}
     //json字符串key
     cartid:
     required
     string"8808"
     购物车id
     cartnumber:
     required
     string"2"
     购物车数量
     ischeck:
     required
     string"1"
     是否选中 是否选择0否1是
     */
    case updatenumbercheck(osCarts:NSString)
    //购物车中sku种类
    case cartcounts
    
}
extension AddCarApi: TargetType {
    
    //设置请求路径
    public var path: String {
        switch self {
        case .createOrder:
            return "/osOrder/a/createorder.json"
        case .addcarts:
            return "/osCart/a/addcarts.json"
        case .updatenumbercheck:
            return "/osCart/a/updatenumbercheck.json"
        case .cartcounts:
            return "/osCart/a/cartcounts.json"
        }
    }
    
    //设置请求方式 get post等
    public var method: HTTPMethod {
        switch self {
        default :
            return .post
            
        }
    }
    /// 设置请求参数
    public var parameters: Parameters? {
        switch self {
        case let .createOrder(order):
            return order
        case let .addcarts(osCarts):
            return ["osCarts":osCarts]
        case let .updatenumbercheck(osCarts):
            return ["osCarts":osCarts]
        default :
            return nil
        }
    }
    
}
